Leadtools.Barcode Namespace > BarcodeReader Class > ReadBarcode Method : ReadBarcode(RasterImage,LeadRect,BarcodeSymbology[],IBarcodeReadOptions[]) Method |
For information about this method please see ReadBarcode(RasterImage,LogicalRectangle,BarcodeSymbology[],BarcodeReadOptions[]).
public BarcodeData ReadBarcode( RasterImage image, LeadRect searchBounds, BarcodeSymbology[] symbologies, IBarcodeReadOptions[] options )
'Declaration Public Overloads Function ReadBarcode( _ ByVal image As RasterImage, _ ByVal searchBounds As LeadRect, _ ByVal symbologies() As BarcodeSymbology, _ ByVal options() As IBarcodeReadOptions _ ) As BarcodeData
'Usage Dim instance As BarcodeReader Dim image As RasterImage Dim searchBounds As LeadRect Dim symbologies() As BarcodeSymbology Dim options() As IBarcodeReadOptions Dim value As BarcodeData value = instance.ReadBarcode(image, searchBounds, symbologies, options)
public BarcodeData ReadBarcode( RasterImage image, LeadRect searchBounds, BarcodeSymbology[] symbologies, IBarcodeReadOptions[] options )
ObjectiveC Syntax
function Leadtools.Barcode.BarcodeReader.ReadBarcode(RasterImage,LeadRect,BarcodeSymbology[],IBarcodeReadOptions[])( image , searchBounds , symbologies , options )
public: BarcodeData^ ReadBarcode( RasterImage^ image, LeadRect searchBounds, array<BarcodeSymbology>^ symbologies, array<IBarcodeReadOptions^>^ options )
Note: In LEADTOOLS for .NET, the equivalent to Leadtools.LeadRect is Leadtools.Forms.LogicalRectangle, also the equivalent to IBarcodeReadOptions is BarcodeReadOptions.
[TestMethod] public async Task BarcodeReader_ReadBarcodeExample4() { string imageFileName = @"Assets\Barcode1.tif"; // Create a Barcode engine BarcodeEngine engine = new BarcodeEngine(); // Get the Barcode reader instance BarcodeReader reader = engine.Reader; using(RasterCodecs codecs = new RasterCodecs()) { StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(imageFileName); using(RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile))) { // Rotate the image by 90, so default option of reading horizonal barcodes will not work Debug.WriteLine("Rotating the image by 90 degrees"); RotateCommand rotate = new RotateCommand(90 * 100, RotateCommandFlags.Resize, RasterColorHelper.FromKnownColor(RasterKnownColor.White)); rotate.Run(image); // In the US, UPC barcodes are used to identity products. So, create an array of UPC symbologies BarcodeSymbology[] upcSymbologies = { BarcodeSymbology.UPCA, BarcodeSymbology.UPCE }; // Read the first UPC barcode from the image using default options Debug.WriteLine("Reading barcodes using default options"); BarcodeData barcode = reader.ReadBarcode(image, LeadRectHelper.Empty, upcSymbologies, null); // Show its location and data if found // This will print out "Not found" if(barcode != null) { Debug.WriteLine("Found a {0} barcode at {1}, data:\n{2}", barcode.Symbology, barcode.Bounds, barcode.Value); } else { Debug.WriteLine("Not found"); } // Now get the options we used previously, and change the 1D linear barcode read options // to search for barcodes in both horizontal and vertical directions // Note: Same options are used for UPCA and UPCE, so we only need one options class OneDBarcodeReadOptions oneDReadOptions = reader.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeReadOptions; // Change the read direction oneDReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical; // Try again using our options Debug.WriteLine("Reading barcodes using our options"); barcode = reader.ReadBarcode(image, LeadRectHelper.Empty, upcSymbologies, new IBarcodeReadOptions[] { oneDReadOptions }); // Show its location and data if found // This will find the barcode and print its information now if(barcode != null) { Debug.WriteLine("Found a {0} barcode at {1}, data:\n{2}", barcode.Symbology, barcode.Bounds, barcode.Value); } else { Debug.WriteLine("Not found"); } } } }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2